const {
  cancelCollection,
  getCollection,
  getCollectionForUserId,
  delCollection,
  getDetail
} = require('../../request/api.js');
import checkLogin from "../../request/checkLogin";
const App = getApp();
Page({
  data: {
    soucangList:[
      {
        id:1,
        name:'纸箱',
        recoveryDoortime:'2023-06-19T16:00:00.000+00:00'
      },
      {
        id:1,
        name:'铁皮',
        recoveryDoortime:'2023-06-19T16:00:00.000+00:00'
      }
    ],
    collectList: [],
    moreShow: false,
    infoShow: false,
    items: [{
      label: '取消收藏',
      value: 1
    }],
    itemDetail: {}, //当前选中订单
    // 菲渲染数据；
    pageIndex: 1,
    pageSize: 20,
    pageTotal: 1,
    selectedId: '', //当前选中id；
  },
  onLoad: function (options) {

    //判断有没有登录
    // let token = Cache.getCache('token');
    let islogin=checkLogin.checkLogin()
    if(islogin){
      this.getCollection()//获取用户搜藏列表
      //this.refreshList()
    }else{
      wx.showModal({
        title: '提示',
        content: '你没有登录是否去登录？',
        success (res) {
          if (res.confirm) {
            console.log('用户点击确定')
                  //跳转逻辑
                  setTimeout(() => {
                    wx.reLaunch({
                      url: '/pages/center/index'
                    })
                  }, 1000);
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
    }   
  },
  onReachBottom: function () {
    this.getCollection(this.data.pageIndex + 1)
  },
  async getCollection(pageIndex = 1) {
    if (pageIndex > this.data.pageTotal) return;
    // let userId = Cache.getCache('userId');
    let userId =wx.getStorageSync('userId');  
    const rows = await getCollection({
      //cuserId: App.globalData.userId
      cuserId: userId
    })
    if (rows) {
      rows.forEach(item => {
        item.filePath = App.globalData.imgBase + item.recoveryImgPath
        // console.log(item.recoveryDoortime)
        const formattedRecoveryDoortime = this.formatTime(new Date(item.recoveryDoortime).getTime());  
        item.recoveryDoortime = formattedRecoveryDoortime
        const timeSincestr=this.sumguoqiTime(item.recoveryDoortime)
        item.timeSince = timeSincestr
      })
      this.setData({
        collectList: rows
      })
    }
  },
  sumguoqiTime(futureTimeStr){//计算过期时间
   const futureTime = new Date(futureTimeStr);
  //  console.log(futureTime)
   // 如果转换失败（例如，因为提供了无效的时间字符串），则返回一个错误消息  
   if (isNaN(futureTime.getTime())) {  
       return '无效的时间';  
   }  
   // 计算时间差（毫秒）  
   const now = new Date(); // 获取当前时间  
  //  const diff =  now.getTime() - futureTime.getTime() ;  
   const diff =  futureTime.getTime() - now.getTime() ;  
  //  console.log("相差时间:"+diff)
   // 将时间差转换为天、小时、分钟等  
   let days = Math.floor(diff / (1000 * 60 * 60 * 24));  
   let hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));  
   let minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));  
   let seconds = Math.floor((diff % (1000 * 60)) / 1000);  
 
   // 格式化时间差  
   let timeSince = `${days}天 ${hours}小时 ${minutes}分钟 ${seconds}秒`;  
   return timeSince;
  },
  formatTime(timeStr){//格式化时间
    const date = new Date(timeStr);  
  return `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)} ${('0' + date.getHours()).slice(-2)}:${('0' + date.getMinutes()).slice(-2)}:${('0' + date.getSeconds()).slice(-2)}`;
    // // 格式化时间函数  
    // // formatTime: function(timeStr) {  
    //   // 将ISO 8601时间字符串转换为小程序能理解的格式  
    //   const date = new Date(timeStr);  
    //   // 使用wx.formatTime来格式化时间，但注意wx.formatTime是同步的，并且直接在WXML中使用更方便  
    //   // 这里仅作为演示如何转换时间，实际在WXML中直接使用{{item.recoveryDoortime | formatTimeFilter}}（如果使用了过滤器）  
    //   // 或者直接在WXML中使用wx:for和wx.formatTime，如上面的WXML示例  
    //   return wx.formatTime({  
    //     timestamp: date.getTime(), // 注意这里需要传入时间戳  
    //     format: 'yyyy-MM-dd HH:mm:ss' // 指定格式化后的时间格式  
    //   });  
    // // },  
  },
  hideMore(e) {//取消搜藏订单-1
    if (e.type == "selected") {
      let _this = this;
      wx.showModal({
        title: '提示',
        content: '取消收藏？',
        complete: (res) => {
          if (res.confirm) {
            _this.cancelCollect()
          }
        }
      })
    }
    this.setData({
      moreShow: false
    })
  },
  handleIconTap: function(e) {  
    // 处理图标点击的逻辑  
    // console.log('图标点击:e:', e); 
    const index = e.currentTarget.dataset.index; // 获取 index  
    const item = e.currentTarget.dataset.item; // 获取 item 
    this.setData({
      moreShow: true,
      itemDetail: item
    })
    console.log('全局图标点击:', this.data.itemDetail);  
    // 这里可以添加其他逻辑，比如跳转到详情页等  
  },
  handleTap: function(e) { //唤起详情弹窗
    // 通过e.currentTarget.dataset.index获取被点击项的索引  
    const index = e.currentTarget.dataset.index; // 获取 index  
    const item = e.currentTarget.dataset.item; // 获取 item  
    // 现在你可以使用 index 和 item 做一些操作了  
    console.log('图片被点击的index:', index);  
    console.log('图片被点击的item:', item);  
    this.setData({
      infoShow: true,
      itemDetail: item
    })
  },
  hideInfo() {
    this.setData({
      infoShow: false
    })
  },
  async cancelCollect() {//取消搜藏订单-2-发送请求
    console.log(this.data.itemDetail)
    //let uid=App.globalData.userId
    let uid = wx.getStorageSync('userId'); 
    let oid=this.data.itemDetail.id
    console.log('uid:'+uid)
    console.log('oid:'+oid)
      // await delCollection({
      //   id: this.data.selectedId
        await cancelCollection({
          id: oid,//订单id
          cuserId: uid
        })
        wx.showToast({ title: '已取消收藏' })
        console.log("刷新列表====1")
        //this.getCollection()
        this.onLoad()
        console.log("刷新列表====2")
  }
})